-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 2.1.0 #772
Merged
Merged
Release 2.1.0 #772
+11,278
−2,679
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This PR consists of metadata parsing into gva objects and laying the groundwork for the rendering. It also contains placeholders for the UI, because these will be implemented in a separate ticket. In addition, this PR refactors ChatMessage to address certain issues with current implementation of computed properties MOB-2360
This PR creates GVA Response text UI. This PR also splits ChatView.swift a little bit, since it was closing on 1000 lines of code which is not desired and hard to read. MOB-2363
This PR allows the HTML to be rendered in GVA messages. The conversion of string to attributed string happens in decoding for performance and proper layout reasons.
Added unit tests for GVA button actions MOB-2378
This PR adds GVA Persistent Button UI and connects the buttons to corresponding actions. Some paddings were also changed due to new requirements. This PR also fixes GVA button decoding to support NSAttributedString, and Gallery Card decoding (unrelated to the ticket). MOB-2370
Address layout inconsistencies after PureLayout removal. MOB-2469
This PR adds Unified customization to Persistent button, together with default theme. In GVAPersistentButtonVIew the ContainerView was moved to a stand-alone class so layoutSubviews() could be used properly, since gradient color can only be applied in that method. In addition, it adds system message to unified customization since it wasn't applied before but was actually ready to be used. MOB-2372
Added QuickReplyView which displays left-aligned button's grid Added handling QR button actions Added displaying QR messages MOB-2395
Add initial snapshot tests for dynamic type fonts. Note that these tests reveal that some UI does not take into account dynamic font type, so appropriate tickets are to be created. MOB-2476
Sdk differentiate custom card and usual response card based on metadata. If the type is single choice card and metadata is nil, SDK should draw a message as a response card. If the type is single choice card and metadata is not nil, SDK should pass metadata to renderer and render custom card. MOB-2342
Ensure that BubbleView has correct layout in BubbleWindow after PureLayout removal. MOB-2348
Add more accessibility identifiers to visitor info UI and replace regular UISegmentedControl with custom implementation to overcome Voice Over (screen reader) issue, where views order is broken, if such control is used in section header. MOB-1100
In the new list of strings unified between iOS and Android, there are some strings that have changed their name. However, the string itself is the same. Thus, there's a layer that converts between these new strings and the old strings. These aren't used anywhere yet. However, subsequent pull requests will put them to use. The idea is to have those old strings deprecated and only use the new ones, and then delete this layer in a year, just keeping the new ones in use. Also some strings were changed already if the change was really small and new strings that didn't have an equivalent before were added. MOB-2492
MOB-2403
This PR covers Persistent button with VoiceOver and Layout snapshot tests. However, due to complications, dynamic font snapshot tests are not working as expected and will be postponed until later in order to maximise progress with the project. Rest assured, dynamic font in attributed string works well in simulator and in real device. This PR also utilizes textstyle as a key component in making attributed string scale with dynamic font. Because of that, no default value is provided in the styles for textStyle anymore. MetadataWrapper is necessary for making proper metadata json, as the nature of the Metadata type is somewhat restrictive. MOB-2375
This PR adds snapshot tests for GVA response text. MOB-2509
There were a couple of warnings about preferring `== nil` notation and a disable all that didn't re-enable all rules in the localization file.
Due to the nature of quick replies container, it was not possible to snapshot test the entire screen with quickreplies' container present. However the container itself is testable and this PR covers 2/3 tests for it. MOB-2521
gva_not_supported → gva_error_unsupported MOB-2525
This PR covers GVA Gallery cards with snapshot tests. It also covers ADA compliance for this feature. MOB-2409 MOB-2413
This PR adds unified customization to GVA Gallery card. MOB-2405
Some of the views were rendered differently in dark mode, and needed some adjustments.
InputQuestion doesn't need to have separate background property and should inherit the background from option's normal state. MOB-1946
Instead of trying to reuse some old strings, deprecate some other strings, and have them coexist in the same file, I have decided to deprecate the `L10n.swift` class altogether, and create a new one called `Localization.swift`. This allows me to remove that horrible abbreviated name, and also make a clear distinction between old and new. With this, all new strings will just go to the `Localizable.strings` as always, and the `Deprecated.strings` ones shouldn't be used anymore. This was done by adding two `.stencil` files: one that handles adding the `@deprecated` line to the old file, and a new one that handles ignoring all strings that start with `android`. This is because on the new way to do strings, the Android-specific ones will start with `android.`. We could remove these from the file, but this would be manual, some could be missed, and at the moment of this PR, we haven't yet determined how we are going to sync these strings with the strings in the Glia Hub. Finally, the new `Localization.swift` file is `internal`, as opposed to `L10n.swift` which is public. This is because these strings have changed from being the main way to show strings in the widgets, to being a fallback. Now, the Glia Hub will be the main way to pass strings to the widgets, so there's no need to shoot ourselves in the foot, making this public, and then have to worry about deprecations, as we have to do with `L10n.swift`. With this, there's no need to have `L10n+BackwardsCompatibility.swift`, as the new strings and the old ones are separated entities. However, I still need to do a layer that goes between the strings and the rest of the code, for when the strings have functionality that is not present anymore (example, placeholders for values that now just have the direct value in the string). In a year, we can easily remove `L10n.swift` and the associated `.stencil` file. MOB-2529
Address issue where changing existing key name of custom attributes resulted in old key name still being kept. MOB-1100
This PR fixes the issue of system message not shown in chat MOB-2544
When messages from history are loaded, same messages delivered from sockets are to be discarded to avoid duplicates. MOB-2542
This method minimizes Glia screens to the Bubble. It might be used by integrators during handling deep links. Added tests for `minimize()` and `resume()` methods. MOB-2607
Before SDK opened http(s) links in SafaryViewController, tel: and mailto: links using UIApplication.open method. Deep links were skipped at all. Now any type of URL is opened using UIApplication.open method to align behaviour with GVA feature and Android SDK. MOB-2605
This string is not needed as a hint because we are working with a label, so the text of the label itself is the hint. Same PR has been done for custom-locales branch, but without this PR, all ios-sdk-widgets snapshot tests will fail. MOB-2614
Bump Core SDK version to latest 1.1.1 release.
Delivery of visitor message was initially relying on REST response only, which resulted in visitor messages from same session being skipped if sent from another device or web. Changes here enable visitor message delivery via socket. Also it uses newly added send message payload API for predictable message delivery. Note that this PR can be merged only when CoreSDK with send message payload will be released. MOB-2311
This commit removes constraint warnings from Call Visualizer
Previously the "Delivered" status was displayed for GVA Quick replied messages. Now it works the same way as regular visitor messages. After receiving response for sent single choice option, the outgoing message is replaced with visitor message with "Delivered" status. MOB-2613
This PR makes buttons in alerts and in survey ADA compliant, enabling dynamic font scaling
With introduction of visitor messages delivered by socket we are now able to receive messages from web and other devices simultaneously. For regular chat messages all changes in Widgets were done accordingly, but other functionality that involves visitor send message request-response may not take it to account, such as response and custom cards. This commit fixes duplications of sent SingleChoiceResponse messages coming from API response and sockets. MOB-2624
This PR fixes the issue that the time is partially hidden under the view's bounds. MOB-2599
White labeling has to be on by default. These changes make it so in default Theme. MOB-2577
With changes added by enabling visitor messages to be delivered via socket and using send message payload API, new logic for message processing has been introduced, to handle messages delivered via web-socket and via REST API. These tests cover situations were message via socket gets delivered before REST API and vice versa, to ensure that no visitor message duplications occur. MOB-2638
These changes will allow integrators fetching available queues without the needs to configure SDK with specific queue id. Deprecated: - Interface for configuration SDK with queue ID Introduced: - Configuration method without queue id - Starting engagement with queue ids MOB-2594
Address visitor-on-hold and unread message count being incorrectly displayed for initial 'minimised' state during audio engagement. MOB-2644
Added mechanism for fetching queue id dynamically and assigning into settings. MOB-2594
Restore Swift Package Manager compatibility in a local package connectivity mode. MOB-2594
yurii-glia
requested review from
igorkravchenko,
gersonnoboa,
EgorovEI and
rasmustautsglia
September 15, 2023 06:12
gersonnoboa
approved these changes
Sep 15, 2023
EgorovEI
approved these changes
Sep 15, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.